/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tesis2.pucp.Seguridad.Controlador;

import com.tesis2.pucp.Modelo.TesisPerfil;
import com.tesis2.pucp.Modelo.TesisUsuario;
import com.tesis2.pucp.Seguridad.DAO.UsuarioDAO;
import com.tesis2.pucp.Seguridad.Vista.UsuarioGUI;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author jorge
 */
public class UsuarioControlador {
    private UsuarioDAO m;
    private UsuarioGUI UsuarioView;
    private TesisUsuario usr;
    private ArrayList<TesisPerfil> lstPerfil;
    private BuscarUsuarioControlador buscarUsuarioControlador;
    private final static int ESTADO_ACTIVO=1;

    public UsuarioControlador(UsuarioDAO dao, UsuarioGUI view, BuscarUsuarioControlador buc, TesisUsuario usuario){
        m = dao;
        UsuarioView = view;
        buscarUsuarioControlador = buc;
        llenarPerfilCombo();
        usr=usuario;
        UsuarioView.setFormUsuario(usr);
        
        UsuarioView.addCancelarListener(new cancelarListener());        
        UsuarioView.addLimpiarListener(new limpiarListener());              
        UsuarioView.addGuardarListener(new guardarUsuarioListener());
        
    }
 
    private void llenarPerfilCombo(){
            lstPerfil = m.listarPerfil();
            UsuarioView.llenaComboPerfil(lstPerfil);
    }      
    
    
        
    class guardarUsuarioListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            TesisUsuario a = new TesisUsuario();
            a.setNombre(UsuarioView.getNombre());
            a.setApellidomaterno(UsuarioView.getApMaterno());
            a.setApellidopaterno(UsuarioView.getApPaterno());
            //a.setCorreo(UsuarioView.getCorreo());
            a.setNombre(UsuarioView.getNombre());
            a.setLogin(UsuarioView.getLogin());
            a.setPasword("pass"); 
            a.setTesisPerfil(lstPerfil.get(UsuarioView.getPerfil())); 
            a.setEstadosesion(ESTADO_ACTIVO);
              
            m.guardarUsuario(a);
            if (usr!=null) {UsuarioView.mostrarAviso("Se modificó el usuario con éxito");}
            else { UsuarioView.mostrarAviso("Se registró el usuario con éxito");}
            buscarUsuarioControlador.listarResultados();            
            UsuarioView.dispose();            
        }
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            UsuarioView.dispose();
        }        
    }    
           
    
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            UsuarioView.LimpiarDatos();
        }        
    }    
}
